<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

<ui:composition template="/templates/modeloGeral.xhtml">
	<ui:define name="metadata">
		<f:metadata>
			<f:event listener="#{pedidoBean.carregarProdutos}"
				type="preRenderView" />
		</f:metadata>


	</ui:define>

	<ui:define name="conteudo">
		<h:form id="frmPedidoCad">
			<p:toolbar>
				<f:facet name="left">
					<h:outputText value="Pedidos" />
				</f:facet>
			</p:toolbar>
			<p:separator />

			<p:dataTable emptyMessage="Nenhum registro encontrado."
				value="#{pedidoBean.listaProdutos}"
				filteredValue="#{pedidoBean.listaProdutosFiltrados}" var="produto"
				rows="4" paginator="true">


				<p:column headerText="Código">
					<h:outputText value="#{produto.id}" />
				</p:column>
				<p:column headerText="Nome" filterBy="#{produto.nome}"
					sortBy="#{produto.nome}">
					<h:outputText value="#{produto.nome}" />
				</p:column>

				<p:column headerText="Descrição" filterBy="#{produto.descricao}"
					sortBy="#{produto.descricao}">
					<h:outputText value="#{produto.descricao}" />
				</p:column>

				<p:column headerText="Preço" sortBy="#{produto.preco}">
					<h:outputText value="#{produto.preco}" />
				</p:column>

				<p:column headerText="Quantidade">
					<h:outputText value="#{produto.quantidade}" />
				</p:column>

				<p:column headerText="Serviço" filterBy="#{produto.servicos.tipo}"
					sortBy="#{produto.servicos.tipo}">
					<h:outputText value="#{produto.servicos.tipo}" />
				</p:column>

				<p:column headerText="Cadastrado por: ">
				</p:column>

				<p:column headerText="Opções">
					<p:commandButton value="Adicionar"
						actionListener="#{pedidoBean.adicionar(produto)}"
						update=":frmPedidoCad:tblItens :frmPedidoCad:txtPedidoValorTotal" />

				</p:column>
			</p:dataTable>

			<p:separator />

			<p:dataTable id="tblItens" emptyMessage="Nenhum registro encontrado."
				value="#{pedidoBean.listaItens}" var="item" rows="4"
				paginator="true">


				<p:column headerText="Produto">
					<h:outputText value="#{item.produto.nome}" />
				</p:column>
				<p:column headerText="Serviço">
					<h:outputText value="#{item.produto.servicos.tipo}" />
				</p:column>
				<p:column headerText="Quantidade">
					<h:outputText value="#{item.quantidade}" />
				</p:column>

				<p:column headerText="Valor Parcial">
					<h:outputText value="#{item.valorParcial}" />
				</p:column>


				<p:column headerText="Opções">
					<p:commandButton value="Remover"
						actionListener="#{pedidoBean.remover(item)}"
						update=":frmPedidoCad:tblItens :frmPedidoCad:txtPedidoValorTotal" />
				</p:column>
			</p:dataTable>
			<p:separator />
			<h:panelGrid>
				<h:outputFormat id="txtPedidoValorTotal"
					value="Valor Total: #{pedidoBean.pedidoCadastro.valor}" />
				<p:commandButton value="Finalizar Pedido"
					actionListener="#{pedidoBean.carregarDadosPedido}"
					oncomplete="PF('wvDlgFinPedido').show();"
					update=":frmFinPedido:txtDadosFinPedido" />
			</h:panelGrid>
		</h:form>

		<p:dialog closable="true" draggable="true" modal="true"
			resizable="false" header="Conferir pedido" widgetVar="wvDlgFinPedido"
			appendTo="@(body)">

			<h:form id="frmFinPedido">
				<h:panelGrid id="txtDadosFinPedido" columns="2">
					<h:outputText value="Horário: " />
					<h:outputText value="#{pedidoBean.pedidoCadastro.horario}">
						<f:convertDateTime pattern="dd/MM/yyyy HH:mm"
							timeZone="America/Sao_Paulo" />
					</h:outputText>

					<h:outputText value="Cliente: " />
					<h:outputText value="#{pedidoBean.pedidoCadastro.cliente.nome}" />

					<h:outputText value="Tipo: " />
					
					<h:outputText value="Valor: " />
					<h:outputText value="#{pedidoBean.pedidoCadastro.valor}" />
					
				</h:panelGrid>
				<h:panelGrid columns="2">
					<p:commandButton value="Salvar" actionListener="#{pedidoBean.salvar}"
					update=":msgGlobal :frmPedidoCad:tblItens :frmPedidoCad:txtPedidoValorTotal" oncomplete="PF('wvDlgFinPedido').hide();" />
					<p:commandButton value="Voltar"
						onclick="PF('wvDlgFinPedido').hide();" />
				</h:panelGrid>
			</h:form>
		</p:dialog>

	</ui:define>

</ui:composition>
</html>